1. The Field of the Invention
The present invention relates generally to the field of dynamic computer document creation and file serving. In particular, the present invention relates to a scripting language and method of use which provides for the use of inventive script codes in a document formatted for an independent application. The present invention is particularly well suited for creating dynamic HTML documents with database information using inventive scripting commands.
2. The Relevant Technology
The Internet is a world-wide network of computers which is now accessible to almost any potential user with a computer and a means for network access. Hundreds of Internet Service Providers (ISP""s) have emerged to provide Internet access to millions of users who now use the Internet for personal and business communications, information retrieval, advertising, publishing, sales and document delivery.
In order to better implement many of these applications, the World Wide Web (WWW or Web), was created. The Web allows access to information and documents using xe2x80x9chypermediaxe2x80x9d or xe2x80x9chypertextxe2x80x9d links embedded into the document. This linking system allows documents to be accessed and linked in a xe2x80x9cnon-linearxe2x80x9d fashion. Non-linear access allows a user to xe2x80x9cjumpxe2x80x9d from one point in a document to another simply by selecting the link. It also allows jumping from one document to another whether the documents are on the same computer or across the world. Documents available on the WWW include text, sound, graphics images and even full-motion video.
Hypertext Markup Language (HTML), a specialized document formatting language, is typically used to create and format documents for viewing and linking on the Web. HTML uses special tags or codes embedded into a text document that format the document and allow linking to other documents or other locations in the same document. These links may also access files, such as sound files or graphics files which are played or displayed upon selection of a link. A document in HTML format that is available on the Web is typically referred to as a xe2x80x9cWeb pagexe2x80x9d or xe2x80x9cWeb site.xe2x80x9d
The WWW also implements a unique addressing system which allocates an address or Uniform Resource Locator (URL) for each document on the Web so that Web documents may be selectively accessed, sorted and indexed.
A computer with a dedicated connection to the Internet and specialized server software that enables Web access is called a xe2x80x9cWeb server.xe2x80x9d Web documents are located on storage devices connected to Web servers. A person seeking access to a Web page uses a computer with xe2x80x9cWeb browserxe2x80x9d software which allows access to specified URL""s as well as searching and other functions.
Generally, when a user accesses a specific Web page, the user enters the URL of the desired Web page into a computer which is running browser software. The browser software, then, sends a request across the internet to the server at the destination designated by the URL. The destination server will then send an electronic copy of the desired document to the browser computer where it can be displayed to the user. This is the typical procedure used for static Web pages that exist as unchanging files on a server storage device.
Web pages may also exist as dynamic documents that change or update themselves when conditions are met. Dynamic documents may update themselves each time they are accessed. This is achieved by allowing the server to execute a program when a given URL is accessed.
A current standard for enabling dynamic pages is the Common Gateway Interface (CGI) which allows a server to run programs which can change, update or customize the web page as it is being accessed.
Programs which reside on the server and are invoked by requests from client browser applications are referred to as xe2x80x9cserver sidexe2x80x9d programs. After these programs are run and the page is modified thereby, the newly modified xe2x80x9cdynamicxe2x80x9d page is sent to the browser which requested the page so it can be displayed to the user.
Another method for providing a dynamic Web page employs programs which are not operating system specific. These programs can be executed on any operating system supported by the programming language. One very popular example is the Java programming language created by Sun Microsystems, Inc. With Java, a programmer can create programs and include them in her web site where the programs will run when the site is accessed by other computers on the Web. The programs will run whether the accessing computer uses an operating system identical to that of the Web site or another operating system supported by Java. Java programs which are embedded in a site and executed by the accessing computer are called xe2x80x9capplets.xe2x80x9d Java programs which are executed by the site server when the site is accessed by another computer are called xe2x80x9cservletsxe2x80x9d or more generically, xe2x80x9cserver side programs.xe2x80x9d A specialized programming language which operates exclusively with scripts interpreted by server side programs may be referred to as a xe2x80x9cserver side scripting language.xe2x80x9d
CGI and other dynamically enabled servers can allow dynamic pages to access date or time information, weather information, files with pricing or inventory data or other web pages. They may also allow access to databases stored on the same server or at another location on the Internet or a local network. This capability greatly enhances the utility of web pages and allows access to databases containing huge quantities of information.
The present invention is a server side scripting language and programming tool designed to simplify programming for web pages using databases or other dynamic information. The present invention is implemented by adding inventive script to a normal text-based document, such as an HTML document, a spreadsheet, a word processing document or any other text-based document which can benefit from a dynamic document architecture. The document is subsequently processed by the interpreter of the present invention to access database or other information when the document is requested by a browser or at some other time or interval specified by the programmer.
When a browser requests a document enhanced by the present invention, the interpreter processes the document by scanning for the inventive script commands. When a script command is encountered, the interpreter executes the script command, typically by retrieving or processing database information, returns the result to the web page and strips the executable script command from the resulting xe2x80x9cpure-formatxe2x80x9d document. Once all executable script commands have been executed and stripped, the resulting document is in a xe2x80x9cpure-formatxe2x80x9d form. In the case of a typical web page, the xe2x80x9cpure-formatxe2x80x9d form would be a pure HTML document containing no extraneous tags or commands. This xe2x80x9cpure-formatxe2x80x9d document is, then, sent by the server to the client computer whose browser initiated the document request.
Due to the text-based format of the present invention, the novel script commands may be added, deleted or edited from a typical HTML or Web page editor or from a word processor or text editor.